package com.abu.course.service;


import cn.hutool.core.util.PageUtil;
import com.abu.course.pojo.Course;
import com.abu.course.vo.ClassroomOrderVO;
import com.abu.course.vo.QueryConditionSelect;
import com.abu.course.vo.QueryCourseVo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;

/**
 * <p>
 * 课程表 服务类
 * </p>
 *
 * @author 阿布
 * @since 2021-02-03
 */
public interface CourseService extends IService<Course> {
    /**
     * 根据条件分页查询课程

     * @return
     */
    HashMap<String,Object> queryPageByCondition(QueryCourseVo queryCourseVo);

    /**
     * 根据课程id查询课程信息
     * @param id
     * @return
     */
    Course getCourseById(Long id);

    /**
     * 修改课程
     * @param course
     * @return
     */
    Boolean modifiedClassroom(Course course);

    /**
     * 根据课程id删除课程
     * @param id
     * @return
     */
    boolean deleteCourse(Long id);

    /**
     * 保存课程信息
     * @param course
     * @return
     */
    Boolean saveCourse(Course course);

    Boolean checkData(Long id, LocalDateTime beginTime, LocalDateTime endTime);

    HashMap<String, Object> queryAllHistory(QueryConditionSelect queryConditionSelect);

    HashMap<String, Object> queryHistoryByCondition(QueryConditionSelect queryConditionSelect);

    List<ClassroomOrderVO> getClassroomOrderByClassroomName(String classroomName);

    HashMap<String, Object>  queryPageOnlyCourse(QueryCourseVo queryCourseVo);

}
